﻿#ifndef TASKITEM_H
#define TASKITEM_H

#include <QObject>
#include "commanditem.h"

/**
 * @brief The TaskItem class 任务类，对不同载荷的任务进行统一管理
 */
class TaskItem : public QObject
{
    Q_OBJECT
public:


    explicit TaskItem(const QString& sName,QObject *parent = 0);

    QString getName();

    // 任务类型，如全员盘，中国区等
    void setType(const QString& sType);
    QString getType();

    void setValue(ScriptItem::PosType type,double value);
    double getValue(ScriptItem::PosType type);

    CommandItem *addCommand(const QString& name);
    void removeCommand(const QString& objName);
    QVector<CommandItem *> allCommands();
    CommandItem *getCommand(const QString& objName);

signals:

public slots:

private:
    QString msName;//任务名称
    QString msType;//任务分名称

    double mdStartTime;
    double mdEndTime;

    // 运行模式，成像仪可用于表示不同速度模式，探测仪可用于表示不同扫描方式，大步，大小步等
    QString msModeCode;

    // 可以用于表示区域和快速指向
    double mdEWStart;
    double mdNSStart;
    double mdEWEnd;
    double mdNSEnd;
    QVector<CommandItem *> mvctCommands;

};

#endif // TASKITEM_H
